/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.gastronomico.demo.web;

import com.gastronomico.demo.domain.Establecimiento;
import com.gastronomico.demo.domain.Ubigeo;
import com.gastronomico.demo.service.EstablecimientoService;
import com.gastronomico.demo.service.UbigeoService;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

/**
 *
 * @author MIGUELANGEL
 */
@Controller
public class EstablecimientoListaController {

    @Autowired
    EstablecimientoService service;

    @Autowired
    UbigeoService ubgService;


    @RequestMapping(value = "/establecimientoLista.htm", method = RequestMethod.GET)
    public ModelAndView establecimiento(HttpServletRequest req){
        ModelAndView mav = new ModelAndView("establecimientoLista");
        String idubigeo = req.getParameter("idubigeo");
        List<Establecimiento> establecimientoLista = service.buscarEstablecimientos(idubigeo);
        //List<Establecimiento> establecimientoLista = service.obtenerEstablecimientos();

        List lista = new ArrayList();

        for (int i = 0; i<establecimientoLista.size();i++){
            Establecimiento obj = new Establecimiento();
            obj =(Establecimiento)establecimientoLista.get(i);
            Ubigeo dep = new Ubigeo();
            //System.out.println("el ubigeo es" +obj.getUbigeo().toString());
            dep = ubgService.obtenerDepartamento(obj.getUbigeo().getDept());
            obj.setDepartamento(dep.getDescripcion());
            
            dep = ubgService.obtenerProvincia(obj.getUbigeo().getProv(),obj.getUbigeo().getDept());
            obj.setProvincia(dep.getDescripcion());

            dep = ubgService.obtenerDistrito(obj.getUbigeo().getProv(),obj.getUbigeo().getDept(),obj.getUbigeo().getDist());
            obj.setDistrito(dep.getDescripcion());
            establecimientoLista.set(i, obj);
        }

        System.out.println("ESTABLECIMIENTO:" + establecimientoLista.size());
        mav.addObject("establecimientoLista", establecimientoLista);
        return mav;
    }

    @RequestMapping(value = "/establecimientoDetalle.htm", method = RequestMethod.GET)
    public ModelAndView establecimientoDetalle(HttpServletRequest req){
        ModelAndView mav = new ModelAndView("establecimientoDetalle");
        String id = req.getParameter("id");
        Establecimiento obj = new Establecimiento();
        obj =  service.obtenerEstablecimiento(id);

            Ubigeo dep = new Ubigeo();

            dep = ubgService.obtenerDepartamento(obj.getUbigeo().getDept());
            obj.setDepartamento(dep.getDescripcion());

            dep = ubgService.obtenerProvincia(obj.getUbigeo().getProv(),obj.getUbigeo().getDept());
            obj.setProvincia(dep.getDescripcion());

            dep = ubgService.obtenerDistrito(obj.getUbigeo().getProv(),obj.getUbigeo().getDept(),obj.getUbigeo().getDist());
            obj.setDistrito(dep.getDescripcion());

            System.out.println("fin de recuperar :" + obj.getNombre());
        mav.addObject("establecimientoDetalle", obj);
        return mav;
    }


}
